1. Field of the Invention
The invention relates to a video recording and reproducing system to be applied to a news production system and the like in a television broadcast station.
2. Background Art
[Configuration and Data Flow of a News Production System of the Related Art]
In a television broadcast station, when producing a news program, video data (material) transmitted in real time from the news gathering field, satellite stations and the like is recorded in a storage having large capacity, reading and editing video data in the storage by editing equipment.
FIG. 1 is a block diagram showing a configuration and data flow of such news production system in the related art. The news production system includes a video writing device 50, a video file shared storage 60 (hereinafter, referred to merely as a shared storage 60) using a HDD (hard disc drive), a video reading device (editing equipment) 70 and a high-speed network 80 for transmitting and receiving video data. In the drawing, one video writing device 50 and one video reading device 70 are shown, however, there are some cases in which plural video writing devices 50 or plural video reading devices 70 are provided.
In the drawing, the data flow among the video writing device 50, the shared storage 60 and the video reading device 70 is shown by arrows connecting these devices for convenience, and all giving and receiving of data among these devices are performed through the network 80.
The video writing device 50 has an interface for inputting video data transmitted from the news gathering field or satellite stations. There are some cases in which video data is transmitted from news gathering field or satellite stations through the network or there are some cases in which video data is transmitted in accordance with a SDI (Serial Digital Interface) standard. In the example of FIG. 1, the case in which video data of the SDI standard is inputted is shown.
The video writing device 50 writes the inputted video data in the shared storage 60. At this time, the video writing device 50 writes index data with the video data in the video file shared storage 60 when the inputted video data includes index data. On the other hand, when the inputted video data does not include index data, the video writing device 50 creates index data from video data and writes the index data with the video data in the shared storage 60.
The video reading device 70 is a personal computer or a workstation on which a video reading software component for editing work is installed, reading index data recorded in the shared storage 60 to a local memory for rapidly having access to a frame at an arbitrary position in a video file.
When the frame at the arbitrary position is read by an operator, the video reading device 70 reads video data of that frame from the shared storage 60 (specifically, requesting the shared storage 60 to read the video data by designating an address of the video data of that frame indicated by the index data read in a local memory), and displays the read video data on a display (not shown).
The shared storage 60 is connected to the video writing device 50 and the video reading device 70 through the network 80. There is a case in which the video writing device 50, the video reading device 70 and the shared storage 60 form a SAN (Storage Area Network) and there is a case in which the shared storage 60 forms a NAS (Network Attached Storage).
The details of the video writing device 50 are as following (1) to (7).
(1) A video input unit 51 has an input interface for video data of the SDI standard, starting input of video data.
(2) The inputted video data is transmitted to a video writing unit 52, and the video writing unit 52 writes video data in the shared storage 60 in time series.
(3) The video input unit 51 gives information of the size of video data and information of an address (a later-described offset) in a file in which video data is stored to an index creation unit 53 at every video data of each frame at any time.
(4) The index creation unit 53 creates index data by using the above information, storing the index data on an index creation cache memory 54 (hereinafter, referred to merely as the cache memory 54).
(5) An index writing instruction unit 55 checks index data on the cache memory 54, requesting an index writing unit 56 to write the index data into the shared storage 60 when index data of an amount satisfying a writing interval currently updated is stored in the cache memory 54.
(6) The index writing unit 56, when receiving the writing request, writes the index data on the cache memory 54 in the shared storage 60.
(7) After that, the index writing instruction unit 55 updates the writing interval of index data.
[Configuration of a File Stream on the Shared Storage]
FIG. 2A and FIG. 2B are block diagrams showing a configuration of a file stream on the shared storage 60 of FIG. 1. There exist a case (index/video data separated type) in which an index table is created as a file independent of video data as shown in FIG. 2A, and a case (index/video data integrated type) in which the index table is included in a video file as shown in FIG. 2B.
In the index table, the total number of indexes (information of the total number of index data), the index size (size information of an index area) and information of offsets and video sizes of video data in all frames (frame No. #1 to #N) included in the video file.
The offset indicates an address of video data in each frame in the video file relatively, taking an address of video data at #1 frame as a 0-address. The video input unit 51 (FIG. 1) in the video writing device 50 calculates an offset value of the video data in the current frame by adding the size of video data in the current frame to an offset value of video data in a frame just before.
The video file includes video data, information of the video size and a video header at each frame in the video file. The video file also includes a video file header.
A time code indicating the current video position and the taken time is written in the video header, and there exist a manner in which the time code is written in only the video header of the first #1 frame (time codes after #2 frame are calculated by counting from the time code of frame #1) and a manner in which the time codes are written in video headers in all frames.
[Temporal Variation of Index and Video Data During Recording]
FIG. 3 is a block diagram showing temporal variation of index data and video data during recording in the shared storage 60 in FIG. 1, taking a file stream of FIG. 2B as an example.
The video data is written in the video file on the shared storage 60 independently of recording of index data at any time. Meanwhile, index data is stored in the cache memory 54 of FIG. 1.
At the time of recording update of index data, index data is read from the cache memory 54, the recording of index data to the shared storage 60 is updated (recording at the first recording update and additional updating of the recording contents until the previous time at the time recording updates after the second time as well as the recording contents in the video file header is updated.
At the time of recording update of index data to the shared storage 60 is performed, the video reading device 70 of FIG. 1 reads the index data from the shared storage 60, performing reading request to the shared storage 60 by designating an offset with respect to video data of an arbitrary frame in the index data to thereby read the video data from the shared storage 60.
For example, when the initial recording update of index data is performed at the time when video data for ten seconds from the head has been written in the video file, the video reading device 70 is able to have read-access to video data for ten seconds from the head at this point.
After that, when the second recording update of index data is performed at the time when video data for next ten seconds has been written in the video file, the video reading device 70 is able to have read-access to video data for twenty seconds from the head at this point.
Even in the case that video data has been actually written in the video file, if the recording update of index data corresponding to the video data has not been performed, the video reading device 70 will not be able to have read-access to the video data.
[Timing Chart from Writing to Reading]
FIG. 4A and FIG. 4B are charts showing processing timing of video data and index data with respect to the shared storage 60. There exist a case in which recording update of index data to the shared storage 60 is performed at the time when writing of video data of all frames to the shared storage 60 has been completed as shown in FIG. 4A and a case in which recording update of index data to the shared storage 60 is performed at regular intervals as shown in FIG. 4B.
As a demand in the market for the news production system, a demand for using video data transmitted in real time from the news gathering field, satellite stations and the like for editing immediately and a demand for checking whether correct video data is transmitted from the news gathering field, satellite stations and the like (whether different video data is transmitted incorrectly) immediately are increased. Accordingly, even during writing of video data to the shared storage 60, it is necessary to allow the video reading device 70 to read video data of a point at which writing has been completed from the shared storage 60 immediately.
In the case of FIG. 4A, for example, when video data of twenty minutes is recorded, recording update of index data is performed only once at the time of twenty minutes after, when writing of video data to the shared storage 60 has been completed. In the manner, playback available timing is delayed depending on the video data length (length of material). (Usually, the length of one video file is more than ten several seconds, therefore, it is necessary to wait at least more than ten several seconds in most cases).
In FIG. 4A, the recording of video data from #001 frame to #N frame is shown. After the recording of video data to the #N-th frame has been completed in the shared storage 60 as a video file, subsequently, index data concerning video data from #001 frame to #N frame read from the cache memory 54 in the video writing device 50 is recorded in the shared storage 60 as an index file.
The video data from #001 frame to #N frame can be read from the shared storage 60 by reading index data concerning the video data from #001 frame to #N frame from the shared storage 60 (actually, since only video data of a frame to be a target of reading operation in the video reading device 70 is read, video data of all frames is not always read from the head). Therefore, the playback available timing is after the recording of video data to #N frame has been completed, and even when a playback command (reading request) is received at the timing before that, it is difficult to play back video data.
In the case of FIG. 4B, a mechanism in which recording of index data is updated at regular intervals is applied in order to improve the disadvantage in the case of FIG. 4A. However, if the update interval is too short, the burden of the CPU in the shared storage 60 becomes heavy, therefore, the update interval is allowed to be the length of approximately ten several seconds, accordingly, it is necessary to wait for about ten several seconds (about fifteen seconds when the delay of other systems is included) until the playback will be possible.
In FIG. 4B, an example in which the recording update of index data is performed at every 250 frame (=every ten second) concerning video data of a PAL (625/50) system is shown. The first recording update (recording of index data concerning video data from #001 frame to #250 frame) is performed after video data from #001 frame to #250 frame is recorded, therefore, video data from #001 frame to #250 frame can be played back after the index data is played back. The operation is sequentially repeated, thereby realizing continuous playback (normal playback=one time speed).
The update interval of index data is set depending on a compression system of video data to be recorded. For example, in the case of the compression within the frame (intra frame) of MPEG 2, the update interval is set to an integer multiple of the frame (for example, 250 frames in the case of the PAL (625/50) system video data as shown in FIG. 4B). In the case of the compression between frames (inter frame) of MPEG 2, the update interval is set to integer multiple of GOP (for example, an integer multiple of 15 frames when 1 GOP includes 15 frames).
According to the above, in the news production system in the related art, it is difficult to read video data recorded in the shared storage 60 immediately even when recording update of index data to the shared storage 60 is performed at either timing of FIG. 4A and FIG. 4B, and it is necessary to wait for approximately ten several seconds. The length of such waiting time can hardly satisfy a demand for using video data for editing immediately or a demand for checking whether correct video data is transmitted or not as described above.
As a method of shortening the waiting time, there exists a method from the past, in which a proxy file in which a bit rate of video data transmitted from the news gathering field, satellite stations and the like is reduced to approximately 1/10 is created, the file is copied once in the video reading device 70, indexes are added in the video reading device 70, then, a preview or editing is performed by video data having low resolution.
However, there was a problem that “time for copying the file once” and “time for adding indexes” are necessary even though the video data of low resolution. Additionally, an EDL (editing list) is created based on the low-resolution video data in the video reading device 70, whereas in the shared storage 60, high-resolution video data is recorded/played back, therefore, a mechanism for coordinating both operations becomes necessary, which complicates the system. There is also a problem that it is difficult to perform the preview or editing work with video data having high resolution which is the same as the video data transmitted from the news gathering field or satellite stations.
In the document, in the field of processing of video, a technique is also proposed (JP-A-2004-312245 (Patent Document 1)), in which encoded data having a high bit rate which is the same as the inputted video data and encoded data having a lower bit rate than the inputted video data are recorded in one recording medium almost at the same time by time division and the encoded data having the recorded low-bit rate is read at the same time of these recording to thereby realize verifying or time-shift playback. However, also in the technique, it is difficult to read encoded data having the high-bit rate which is the same as the inputted data at the same time of recording.